/*
 * Tactica1DelanteroLateral.java
 *
 * Created on 9 de abril de 2007, 19:46
 *
 */

package futbol.tacticas.concursantes2007.tikitaka.tactica;

import futbol.tacticas.*;

/**
 *
 * @author leamsi78
 */
public class Tactica1DelanteroLateral extends Estado {
    
    /** Creates a new instance of Tactica1DelanteroLateral */
    public Tactica1DelanteroLateral() {
    }
    
    public void Entrar(Object obj)
    {
    }
    
    public void Ejecutar(Object obj)
    {
        Tactica1 tactica = (Tactica1)obj;
        if (tactica.jugadorMasCercaBalon != tactica.DELANTERO_LATERAL)
        {
            if (tactica.balon.getPosicionActual().getX() > 0)
                tactica.comandos.add(new ComandoIrA(tactica.DELANTERO_LATERAL, 105.0, tactica.balon.getPosicionActual().getY() / 2));
            else
                tactica.comandos.add(new ComandoIrA(tactica.DELANTERO_LATERAL, 95.0, tactica.balon.getPosicionActual().getY() / 2));
        }
        else
        {
            //Tenemos que ir hacia el balon y cuando estemos a menos de 10 entonces golpear el balon
            tactica.jugador[tactica.DELANTERO_LATERAL].irAlBalon();
            if (tactica.jugador[tactica.DELANTERO_LATERAL].getPosicion().getX() < 90) 
            {
                if (tactica.jugador[tactica.LIBRE].getPosicion().getY() < 0)
                    tactica.comandos.add(new ComandoGolpearBola(tactica.DELANTERO_LATERAL, tactica.jugador[tactica.DELANTERO].getPosicion().getX(), tactica.jugador[tactica.DELANTERO].getPosicion().getY() - 0 /*3*/));
                else
                    tactica.comandos.add(new ComandoGolpearBola(tactica.DELANTERO_LATERAL, tactica.jugador[tactica.DELANTERO].getPosicion().getX(), tactica.jugador[tactica.DELANTERO].getPosicion().getY() + 0 /*3*/));
            }
            else 
            {
                tactica.jugador[tactica.DELANTERO_LATERAL].tirarAPuerta();
            }
        }
    }
    
    public void Salir(Object obj)
    {
    }
    
    public boolean Mensaje(Object obj, Mensaje mensaje)
    {
        return true;
    }
}
